// pages/goods_list/goods_list.js
// 引入用来发送请求的方法
import{request} from "../../request/index.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs: [
      { id: 0, name: "综合",isActive:true },
      { id: 1, name: "销量",isActive:false  },
      { id: 2, name: "价格",isActive:false  }
    ],
    currentIndex:0, //点击标题的索引
    goodsList:[], //商品列表数据
    totalPages:1, //总页数
  },
  //接口要的参数
  QueryParams:{
      query:"",
      cid:"",  //跳转传递的id
      pagenum:1, //页码
      pagesize:10 //页容量
  },
  //导航栏点击事件，子组件传过来的索引
  handleTabsTiemChange(e){
    console.log(e.detail);
    //1.获取点击标题索引
    const {index}=e.detail
    // 2.修改源数组
    let {tabs}=this.data
    tabs.forEach((v,i) => {
      if(i===index){
        v.isActive=true;
      }else{
        v.isActive=false
      }
    });
    this.setData({
      currentIndex:index,
      tabs
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // console.log(options);
    this.QueryParams.cid=options.cid//跳转传递过来的id
    this.getGoodsList(); //调用商品列表数据
  },
  //获取商品列表数据
  async getGoodsList(){
    //请求路径+参数,参数不同获取不同数据
    const res = await request({url:"/goods/search",data:this.QueryParams})
    console.log(res);
    //获取总条数
    const total = res.total
    //获取总页数==>// 总页数=Math.cell(总条数/页容量)
    this.data.totalPages = Math.ceil(total / this.QueryParams.pagesize)
    console.log(this.QueryParams.pagenum,this.data.totalPages);
    //商家列表数据
    this.setData({
      // goodsList:res.goods
      // 旧数据与新数据拼接为数组
      goodsList:[...this.data.goodsList,...res.goods]
    })
    //关闭下拉刷新的窗口
    wx.stopPullDownRefresh();
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom(){
    // 1.判断有没有下一页
    // 用当前页码跟总页数做判断
    if(this.QueryParams.pagenum>=this.data.totalPages){
      wx.showToast({
        title : '没有下一页了',
        icon :'error',
        mask : 'true',
        duration : 1000
      })
    }else{
      // 2.有下一页，页码++
    this.QueryParams.pagenum++;
    this.getGoodsList();
    }
      
  },
  //监听用户下拉刷新事件
  onPullDownRefresh(){
    // 1.重置数组
    this.setData({
      goodsList:[]
    })
    // 2.重置页码
    this.QueryParams.pagenum=1
    // 3.重置请求
    this.getGoodsList()
  }
})

